## 17.3. A Modular Approach

fvwm2 has been designed to allow the interested programmer or programmer wanna-be to devise new components, known to insiders as modules. A typical module is the Pager (FvwmPager), which provides a map of the desktop space and a way to navigate it, as we'll see a little later in the chapter. The Pager is a default module in just about any environment.

The FvwmWinList is another useful module. Though not as ubiquitous as the Pager, it is just as useful. The FvwmWinList is a small window that provides a list of all the windows running on all pages of all desktops. The WinList is another navigation tool, allowing you to switch the pointer focus to any application you have running and to switch the screen view so that you can use that application. More about this later.

A module is actually a separate program from fvwm2 but works in concert with it, passing commands to be executed to the window manager. Many configurations of fvwm2 have a Root menu with an FvwmModules submenu from which you can start certain of these programs. (Naturally the list of modules on the menu is configurable.) You might also edit your .fvwm2rc file to run modules in other ways (when you type certain keys, when other events happen, etc.).

Since a module is a separate program, users can write their own modules without adversely affecting fvwm2. Note, however, that you must configure fvwm2 to start the module process; you cannot start one from the command line. Note that while some modules, like the Pager, are intended to be used for the entire session, others simply perform a function and exit (e.g., RefreshWindow). Since modules are programs in their own right, many of them have their own manpages too.

Copyright © 2001 O'Reilly & Associates. All rights reserved.